It is becoming more and more common for integrated circuits to include embedded memory to allow rapid access to data by processing logic provided on the integrated circuit. As the use of embedded memory continues to increase, thorough testing and defect diagnosis has become a key requirement to ensure product quality and enhance product yield. While embedded memory presents significant system performance and cost reduction advantages, it brings its own testing issues. Externally generated test vector style tests are not suitable for verifying embedded memory arrays for a number of reasons. First, the time spent in the manufacturing test grows exponentially as the embedded memory die area increases, which often makes such test vector style testing too costly. Furthermore, it is sometimes not possible to create a set of vectors that can detect all possible types of memory defect.
A known technique which alleviates such problems is to provide the integrated circuit with a memory Built In Self-Test (BIST) controller. In simplistic terms, a memory BIST controller is an on-chip utility that enables the execution of a proven set of algorithmic style verification tests directly on the embedded memory. These tests can be executed at the design's full operating frequency to prove the memory operations and identify errors caused by silicon defects.